home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_sgml-common.idb / usr / freeware / lib / sgml / install-catalog.z / install-catalog
Encoding:
Text File  |  1999-07-21  |  1.4 KB  |  65 lines

  1. #!/bin/sh
  2. set -e
  3. sgmlbase=${rbase-${ROOT}}/usr/freeware/lib/sgml
  4. state=""
  5. package=""
  6. version=""
  7.  
  8. for i in $*; do
  9.   case $state in 
  10.     "")
  11.       case $i in
  12.       --install) state="--install" ; action="install";;
  13.       --remove) state="--remove"   ; action="remove";;
  14.       --sgmlbase) state="--sgmlbase" ;;
  15.       --version) state="--version" ;;
  16.       *) cat <<__USAGE__
  17. Usage:
  18.  --install pkg:        installs pkg.cat in CATALOG
  19.  --remove pkg:        removes pkg.cat from CATALOG
  20.  --version ver:        qualify version of package
  21.  --sgmlbase path:    changes directory for pkg.cat and CATALOG
  22. __USAGE__
  23.  exit 0
  24.  ;;
  25.       esac
  26.     ;;
  27.     --install) state="" ; package=$i ;; 
  28.     --remove) state="" ; package=$i ;;
  29.     --sgmlbase) state="" ; sgmlbase=$i;;
  30.     --version) state="" ; version=$i ;;
  31.   esac
  32. done
  33.  
  34. echo "install-catalog: $action of $package DTD"
  35.  
  36. cat=$sgmlbase/CATALOG
  37.  
  38. SBEG=" -- start $package $version"
  39. SEND=" -- end $package $version"
  40.  
  41. case $action in
  42.   install)
  43.     if grep "$SBEG" $cat > /dev/null 2>/dev/null
  44.     then
  45.       echo "$package DTD already in catalog"
  46.     else
  47.       echo "adding $package DTD to catalog"
  48.     (echo "$SBEG -- "; 
  49.      cat $sgmlbase/$package.cat ;
  50.      echo "$SEND -- ") >> $cat
  51.     fi
  52.   ;;
  53.   remove)
  54.     if grep -q "$SBEG" $cat
  55.     then
  56.       echo "removing $package$version DTD from catalog"
  57.           sed -e "/$SBEG/,/$SEND/d" < $cat > ${cat}.new
  58.                 mv ${cat}.new ${cat}
  59.     else
  60.       echo "No $package$version DTD found in catalog"
  61.     fi
  62.   ;;
  63.   *) echo "install-catalog: Invalid action $action"; exit 1 ;;
  64. esac
  65.